<?php
require_once("conexion.php");
require_once("template.php");
require_once("validacion.php");
require_once("seguridad.php");

function cliente_insertar($nombre, $provincia,$departamento,$localidad,$direccion, $telefono ,$email,$observaciones){
	// Validaciones

	if (! is_alpha($nombre,0,30))
	   $error="El nombre ingresado es incorrecto.";
	elseif (! is_numeric($localidad))
	   $error="Seleccione la localidad.";
	elseif (! contains_phone_number($telefono))
	   $error="El telefono ingresado no es válido.";
	elseif (! is_email($email))
	   $error="El e-mail ingresado es incorrecto.";
	else
	   $error="";

// Fin validaciones
	$objResponse = new xajaxResponse();
	if ($error == ""){
	      global $conexion;
	      $res=$conexion->GetRow("select max(id_cliente) as id  from cliente ");
	      $id_cliente=$res['id']+1;
	      $res2=$conexion->GetRow("select ruta from imagenes where id_imagen=$id_cliente");
	      $ruta_imagen=$res2['ruta'];
	      $conexion->Execute("INSERT INTO cliente (nombre,id_provincia,id_departamento,id_localidad,direccion,telefono,email,observacion,imagen) 
	      VALUES ('$nombre', '$provincia','$departamento','$localidad','$direccion' ,'$telefono', '$email','$observaciones','$ruta_imagen')
	      ");
	      $objResponse = new xajaxResponse();
	      $objResponse->script("xajax_cliente_listado(); alert('Cliente cargado correctamente!')");
	}else
	      $objResponse->script("alert('$error')");
	return $objResponse;
}

function seleccionar_provincia($seleccionar=1){
	global $conexion;

	$resultado=$conexion->Execute("select id,nombre from provincias");
	$lista="<select id='select_provincias' name='select_provincias' 
		onchange='xajax_seleccionar_departamento(this.value);' >";
	foreach($resultado as $provincia){
		$id=$provincia['id'];
		$nombre=$provincia['nombre'];
		if (isset($seleccionar) and $id==$seleccionar)
			$opcion="<option value='$id' SELECTED >$nombre</option>";
		else
			$opcion="<option value='$id' >$nombre</option>";
		$lista=$lista.$opcion;
	}
	$lista=$lista."</select>";
	$objResponse = new xajaxResponse();
	$objResponse->assign("div_select_provincias", "innerHTML", $lista);
// 	$objResponse->script("xajax_cliente_seleccionar_departamento($seleccionar);");
	return $objResponse;
}

function seleccionar_departamento($id_provincia=1,$seleccionar=1){
	global $conexion;

	$resultado=$conexion->Execute("select id,nombre from departamentos where provincia_id=$id_provincia");
	$lista="<select id='select_departamentos' name='select_departamentos' 
		onchange='xajax_seleccionar_localidad(this.value)' >";

	foreach($resultado as $departamento){
		$id=$departamento['id'];
		$nombre=$departamento['nombre'];
		if (isset($seleccionar)and $id==$seleccionar)
			$opcion="<option value='$id' SELECTED >$nombre</option>";
		else
			$opcion="<option value='$id' >$nombre</option>";
		$lista=$lista.$opcion;
	}
	$lista=$lista."</select>";
	$objResponse = new xajaxResponse();
	$objResponse->assign("div_select_departamentos", "innerHTML", $lista);
// 	$objResponse->script("xajax_cliente_seleccionar_localidad($seleccionar);");
	return $objResponse;	
}

function seleccionar_localidad($id_departamento,$seleccionar=1){
	global $conexion;

	$resultado=$conexion->Execute("select id,nombre from localidades where departamento_id=$id_departamento");
	$lista="<select id='select_localidades' name='select_localidades' >";
	foreach($resultado as $localidad){
		$id=$localidad['id'];
		$nombre=$localidad['nombre'];
		if (isset($seleccionar) and $id==$seleccionar)
			$opcion="<option value='$id' SELECTED >$nombre</option>";
		else
			$opcion="<option value='$id' >$nombre</option>";
		$lista=$lista.$opcion;
	}
	$lista=$lista."</select>";
	$objResponse = new xajaxResponse();
	$objResponse->assign("div_select_localidades", "innerHTML", $lista);
	return $objResponse;
}

function cliente_nuevo(){
	global $conexion;
	set_file("cliente_nuevo","cliente_nuevo.html");
	$_SESSION['id_cliente_a_modificar_imagen']="";
	set_var("cliente_input_nombre",'');
	set_var("cliente_input_direccion",'');
	set_var("cliente_input_telefono",'');
	set_var("cliente_input_email",$email);
	set_var("cliente_input_observaciones",'');
	set_var("cliente_nuevo_accion","Agregar");
	$accion="xajax_cliente_insertar(
	document.getElementById('nombre').value,
	document.getElementById('select_provincias').value,
	document.getElementById('select_departamentos').value,
	document.getElementById('select_localidades').value,
	document.getElementById('direccion').value,
	document.getElementById('telefono').value,
	document.getElementById('email').value,
	document.getElementById('observaciones').value
	)";
	set_var("cliente_nuevo_onclick",$accion);
	$respuesta = gparse("cliente_nuevo");
	$objResponse = new xajaxResponse();
	$objResponse->assign("contenedor", "innerHTML", $respuesta);
	$objResponse->script("xajax_seleccionar_provincia()");
	$objResponse->script("xajax_seleccionar_departamento()");
	$objResponse->script("xajax_seleccionar_localidad()");
	return $objResponse;
}

function cliente_modificar($id_cliente){
	global $conexion;
	$id_cliente = (int) $id_cliente;
	set_file("cliente_nuevo","cliente_nuevo.html");
	
	$cliente=$conexion->GetRow("select * from cliente where id_cliente = $id_cliente");
	$_SESSION['id_cliente_a_modificar_imagen']=$id_cliente;
	set_var("cliente_input_nombre",$cliente['nombre']);
	set_var("cliente_input_direccion",$cliente['direccion']);
	set_var("cliente_input_telefono",$cliente['telefono']);
	set_var("cliente_input_email",$cliente['email']);
	set_var("cliente_input_observaciones",$cliente['observacion']);
	//set_var("cliente_id",$cliente['id_cliente']);
	set_var("cliente_nuevo_accion","Modificar");
	$accion="xajax_cliente_update(".$id_cliente.",
		document.getElementById('nombre').value,
		document.getElementById('select_provincias').value,
		document.getElementById('select_departamentos').value,
		document.getElementById('select_localidades').value,
		document.getElementById('direccion').value,
		document.getElementById('telefono').value,
		document.getElementById('email').value,
		document.getElementById('observaciones').value
		)";
	set_var("cliente_nuevo_onclick",$accion);
	$id_prov=$cliente['id_provincia'];
	$id_depar=$cliente['id_departamento'];
	$id_loc=$cliente['id_localidad'];
	$respuesta = gparse("cliente_nuevo");
	$objResponse = new xajaxResponse();
	$objResponse->assign("contenedor", "innerHTML", $respuesta);
	$objResponse->script("xajax_seleccionar_localidad($id_depar,$id_loc);");
	$objResponse->script("xajax_seleccionar_departamento($id_prov,$id_depar);");
	$objResponse->script("xajax_seleccionar_provincia($id_prov);");

	return $objResponse;
		
}

function cliente_eliminar($id){
   global $conexion;
   $id = (int) $id;
   $conexion->Execute("delete from cliente where id_cliente = $id");
   $objResponse = new xajaxResponse();
   $objResponse->script("xajax_cliente_listado(); alert('Cliente borrado correctamente!')");
    return $objResponse;
}

function cliente_update($id,$nombre,$provincia,$departamento,$localidad,$direccion,$telefono,$email,$observaciones){
	// Validaciones
	if (! is_alpha($nombre,0,30))
	   $error="El nombre ingresado es incorrecto.";
	elseif (! is_numeric($localidad))
	   $error="Seleccione la localidad.";
	elseif (! contains_phone_number($telefono))
	   $error="El telefono ingresado no es válido.";
	elseif (! is_email($email))
	   $error="El e-mail ingresado es incorrecto.";
	else
	   $error="";
	$objResponse = new xajaxResponse();
	if ($error==""){
	    global $conexion;
	    $id = (int) $id;
		//$res=$conexion->GetRow("select max(id_cliente) as id  from cliente ");
		//$id_cliente=$res['id']+1;
		$res2=$conexion->GetRow("select ruta from imagenes where id_imagen='$id' ");
		$ruta_imagen=$res2['ruta'];
	    $conexion->Execute("update cliente set 
		  nombre='$nombre',
		  id_provincia='$provincia',
		  id_departamento='$departamento',
		  id_localidad='$localidad',
		  direccion='$direccion',
		  telefono='$telefono',
		  email='$email',
		  observacion='$observaciones',
		  imagen='$ruta_imagen'
		  where id_cliente = $id ");
	    $objResponse = new xajaxResponse();
	    $objResponse->script("xajax_cliente_listado(); alert('Se han actualizado correctamente los datos!')");
	}else
	      $objResponse->script("alert('$error')");
	return $objResponse;
}


function cliente_listado($patron=False){
	global $conexion; 
	set_file("cliente_listado","cliente_listado.html");
	if ($patron)
		$res= $conexion->Execute("select * from cliente where nombre LIKE '%$patron%'");
	else
		$res= $conexion->Execute("select * from cliente");
	if ($res->RowCount()>0){
		foreach ($res as $fila){
			set_var("cliente_nombre",$fila['nombre']);	
			set_var("cliente_direccion",$fila['direccion']);	
			set_var("cliente_telefono",$fila['telefono']);	
			set_var("cliente_email",$fila['email']);	
			set_var("cliente_observaciones",$fila['observacion']);	
			set_var("cliente_id",$fila['id_cliente']);
			set_var("cliente_imagen",$fila['imagen']);
			parse("listado_cliente");
		}
		$respuesta = gparse("cliente_listado");
	}else
		$respuesta="<br><hr><table>No hay registros &nbsp</table><hr><br>";

	$respuesta=$respuesta."<table><tr><td>
		<form method='post' action='a_excel.php'>
	  		<input name='submit' type='submit' value=' Exportar Listado a Excel '/>
		</form></td><td>
		<form method='post' action='a_pdf.php'>
			<input type='submit' value=' Exportar Listado a Pdf '/>
		</form></td></tr></table>";
	$objResponse = new xajaxResponse();
 	$objResponse->assign("contenedor", "innerHTML", $respuesta);

	return $objResponse;
}
require("cliente.common.php");
$xajax->processRequest();
?>